home *** CD-ROM | disk | FTP | other *** search
- /*
- * Octopus, The Atari ST(e)/TT/Falcon GEM/TOS Bulletin Board System
- * written by me (Koos Kuil) on FidoNet: 2:282/397, NeST: 90:500/103
- *
- * Example English OctoScript file written on 07 Jun 1994
- *
- * ------------------------------------------------------------------
- * OCTOPUS.SCR Main programm functions & loop.
- *
- */
-
- #include filebase.scr
- #include msgbase.scr
- #include userinf.scr
- #include language.scr
- #include ansi.scr
- #include userbase.scr
-
- /* Main Login function */
-
- Main
-
- SenseTerminal /* Detect if remote supports ANSI */
- Convert Welcome /* Send nice Welcome screen */
- GetKey
- Convert Logon
- Gosub login /* Begin login procedure */
-
- /* Check if the user has access to our bulletin board. When not,
- * (wrong password) it's possible to leave a message to the sysop.
- *
- * If the user doesn't have time left, Octopus will logout him
- * directly after sending a short message.
- */
-
- IfNoAccess
- Convert 'NoAccess'
- SetSysopMessageArea
-
- /* Ask the user if he want to leave a message */
-
- Send '\r\nDo you want to leave a message to the SysOp @c2(Y,n)@c0 ? '
- AskYesNo
- IfAskTrue
- Send 'Yes'
- SetMessageSubj 'No access to Octopus'
- SetMessageTo 'Sysop'
- WriteMessage
- Send '\r\n\nThe SysOp will contact you when you are not a FAKE user'
- Send '\r\nand you will get a new password for this BBS.'
- Send '\r\n\nGreetings,'
- Send '\r\n your SysOp'
- Else
- Send 'No'
- Endif
- Send '\r\n\nClick! ...'
- Sleep 2 /* Wait 2 seconds... */
- Logout /* Disconnect user */
- Endif
-
- /* Check for a new user */
-
- IfNewUser
- Gosub ask_language
- Convert Rules
- Convert BbsInfo
- Endif
-
- /* Set the user saved language */
- Gosub get_language
-
- /* Display welcome screen & scan the mail */
- Convert FanLogo
- DoMailScan Full
-
- /* Begin the main loop */
-
- :mainmenu
- Do
- Convert MainMenu
- DoChoice
- SelectChoice
- Case A Gosub allfiles
- Case B Gosub bulletin
- Case C Gosub settings
- Case F Gosub filebase
- Case I Convert InfoTxt
- Case M Gosub msgbase
- Case P Gosub AnsiScreens
- Case Q Gosub qwkreader
- Case S Gosub statistics
- Case T Convert Timedemo
- Case U UserList
- Case Y PageSysop
- Case ! Gosub logoff
- EndSelect
- EnddoChoice ''
- Enddo ''
- End /* End Octopus */
-
- /* User settings */
-
- :settings
- Do
- Convert Settings
- DoChoice
- Selectchoice
- Case E ChangeEmulation
- Case H Gosub toggle_hotkeys
- Case L Gosub ask_language
- Case M Gosub toggle_moreprompt
- Case P ChangePassword
- Case S ChangeScreenLength
- Case W ChangeScreenWidth
- Case F Gosub toggle_dateformat
- Case U GetDefaultUp N
- Case D GetDefaultDown N
- Case A GetDefaultArchiver N
- Case C Gosub changeuser
- Case ! Gosub logoff
- EndSelect
- EnddoChoice *
- Enddo *
- Return
-
- /* Tekst bulletins */
-
- :bulletin
- Do
- Convert Bulletin
- DoChoice
- Selectchoice
- Case 1 Bulletin 'aeo_????.txt'
- Case 2 Bulletin 'slmp???.asc'
- Case 3 Bulletin 'stgd*.txt'
- Case 4 Bulletin 'str???.txt'
- Case 5 Bulletin 'znet*.*'
- Case ! Gosub logoff
- Endselect
- EnddoChoice *
- Enddo *
- Return
-
- /* Several statistics */
-
- :statistics
- Do
- Convert StatMenu
- DoChoice
- SelectChoice
- Case C ListLastCallers
- Case D Convert 15_dnlds
- Case E Convert 10_email
- Case H Convert Birthday
- Case M Convert Status
- Case N Convert 10_nmail
- Case S FileBaseStatistics
- Case T Convert 15_calls
- Case U Convert 15_uplds
- Case ! Gosub logoff
- EndSelect
- EnddoChoice *
- Enddo *
- Return
-
- /* Logoff function */
-
- :logoff
- Do
- Convert Logoff
- DoChoice
- SelectChoice
- Case Y MessageToSysop Convert Status Convert FanBye Logout
- Case N Convert Status Convert FanBye Logout
- EndSelect
- EnddoChoice S /* Back to main menu */
- Enddo S
- Return
-
- End
-
- /* End OCTOPUS.SCR */
-